Non-volatile data storage devices, such as embedded memory devices (e.g., embedded MultiMedia Card (eMMC) devices) and removable memory devices (e.g., removable universal serial bus (USB) flash memory devices and other removable storage cards), have allowed for increased portability of data and software applications. Users of non-volatile data storage devices increasingly rely on the non-volatile storage devices to store and provide rapid access to a large amount of data.
Fourier transforms and inverse Fourier transforms have been adopted in various technologies, such as data storage, signal processing, and communication systems. For example, architectures, such as very large scale integration (VLSI) architectures, have been developed for a Fourier transform and an inverse Fourier transform. These architectures may have fully parallel inputs and fully parallel outputs which make the architectures (e.g., fully paralleled architectures) complex and computationally intensive. Various techniques are needed to reduce complexity and computational intensity.